package com.sdy.apigateway.api;

import com.sdy.apigateway.api.dto.AgInterfaceAuthDTO;
import com.sdy.common.model.Response;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

@FeignClient("api-gateway")
public interface AgInterfaceAuthApi {
    /**
     * 保存数据
     */
    @PostMapping("/agInterfaceAuth/save")
    Response<Integer> save(AgInterfaceAuthDTO agInterfaceAuthDTO);

    /**
     * 删除数据
     * @param code 系统代码
     * @param ip ip地址
     */
    @PostMapping("/agInterfaceAuth/removeIpAuth")
    Response removeIpAuth(String code, String ip);

    /**
     * 删除数据
     * @param code 系统代码
     * @param ip ip地址
     * @param apiList 待移除的接口
     */
    @PostMapping("/agInterfaceAuth/removeIpAuthItem")
    Response removeIpAuthItem(String code, String ip, List<Integer> apiList);

    /**
     * 查询某个自建系统某个IP下的接口
     * @param code 系统代码
     * @param ip ip地址
     */
    @PostMapping("/agInterfaceAuth/listByCodeAndIp")
    Response<List<AgInterfaceAuthDTO>> listByCodeAndIp(String code, String ip);
}
